#pragma once

#include <transfer/common.h>
#include <vendor/ecarx/xma/automotive/vehicle/2.0/types.h>
#include <vhal_core/property/PropertyDecalary.h>
#include <vhal_core/property/PropertyStore.h>
#include "lcfg/LocalConfig.h"
#include "VHalLog.h"

#include "SignalManager.h"

#define DEBUG 0
#define DEBUG_PROPER_STATUS if(DEBUG) { \
    VHALOG.d("DEBUG_PROPER_STATUS");       \
        return PropertyStatus::Active;  \
    }


#define DEBUG_PROPER_STATUS_NOT_ACTIVE if(DEBUG) { \
    VHALOG.d("DEBUG_PROPER_STATUS");                  \
        return PropertyStatus::NotActive;          \
    }

#define DEBUG_PROPER_STATUS_NOT_AVAILABLE if(DEBUG) { \
    VHALOG.d("DEBUG_PROPER_STATUS");                     \
        return PropertyStatus::NotAvailable;          \
    }

using namespace ::ecarx::transfer;
using namespace ::vendor::ecarx::xma::automotive::vehicle::V2_0;

#define LCFG lcfg::LocalConfig::getInstance()